package com.sm.service;

import com.github.pagehelper.PageInfo;
import com.sm.controller.request.CancelCourseReq;
import com.sm.controller.request.SelectCourseRequest;
import com.sm.controller.request.StudentRegisterReq;
import com.sm.controller.request.UpdateProfileRequest;
import com.sm.entity.Course;
import com.sm.entity.CourseScore;

import java.util.List;

/**
 * @author Cola
 * @description
 * @date 2022/1/30
 */
public interface StudentService {

    void updateProfile(UpdateProfileRequest updateProfileRequest);

    PageInfo<Course> getCourseListForSelect(Integer page, Integer size);

    List<Course> getSelectedCourseList(Integer page,Integer size);

    int getCoursesNum();

    int getSelectedCoursesNum();

    void selectCourse(SelectCourseRequest selectCourseRequest) throws Exception;

    void cancelSelectCourse(CancelCourseReq req) throws Exception;

    List<CourseScore> getCourseScores();

    void studentRegister(StudentRegisterReq req) throws Exception;

    void deleteStuAccount() throws Exception;
}
